Gepubliceerd: 24 september 2024, Laatst bijgewerkt: 20 mei 2025
Uitlegger | Web | Uitbreidingen | Chrome-status | Intentie |
---|---|---|---|---|
MDN | Weergave | Intentie tot verzending |
Voordat u tekst van de ene taal naar de andere vertaalt, moet u eerst bepalen welke taal in de betreffende tekst wordt gebruikt. Voorheen moest u de tekst uploaden naar een cloudservice, de vertaling op de server uitvoeren en vervolgens de resultaten downloaden.
De Language Detector API werkt client-side, wat betekent dat u de privacy van gebruikers kunt beschermen. Hoewel het mogelijk is om een specifieke bibliotheek te leveren die dit doet, zijn hiervoor extra bronnen nodig om te downloaden.
Wanneer taaldetectie gebruiken
De Language Detector API is vooral handig in de volgende scenario's:
- Bepaal de taal van de invoertekst, zodat deze vertaald kan worden.
- Bepaal de taal van de invoertekst, zodat het juiste model kan worden geladen voor taalspecifieke taken, zoals toxiciteitsdetectie.
- Bepaal de taal van de invoertekst, zodat deze correct kan worden gelabeld, bijvoorbeeld op online sociale netwerksites.
- Bepaal de taal van de invoertekst, zodat de interface van een app hierop kan worden aangepast. Bijvoorbeeld om op een Belgische site alleen de interface te tonen die relevant is voor Franstalige gebruikers.
Aan de slag
De Language Detector API is beschikbaar vanaf Chrome 138 stable. Voer functiedetectie uit om te controleren of de browser de Language Detector API ondersteunt.
if ('LanguageDetector' in self) {
// The Language Detector API is available.
}
Controleer de hardwarevereisten
De API's voor taaldetector en vertaler werken alleen op desktopcomputers in Chrome.
De Prompt API, Summarizer API, Writer API en Rewriter API werken in Chrome wanneer aan de volgende voorwaarden is voldaan:
- Besturingssysteem : Windows 10 of 11; macOS 13+ (Ventura en hoger); of Linux. Chrome voor Android, iOS en ChromeOS worden nog niet ondersteund door onze API's, ondersteund door Gemini Nano.
- Opslag : minimaal 22 GB op het volume dat uw Chrome-profiel bevat.
- GPU : absoluut meer dan 4 GB VRAM.
- Netwerk : Onbeperkt dataverbruik of een onbeperkte verbinding.
Deze vereisten gelden voor u in uw ontwikkelingsproces en voor uw gebruikers die met de functies werken die u bouwt.
Model downloaden
Taaldetectie is afhankelijk van een model dat is afgestemd op de specifieke taak van taaldetectie. Hoewel de API in de browser is ingebouwd, wordt het model on-demand gedownload wanneer een site de API voor het eerst probeert te gebruiken. In Chrome is dit model erg klein in vergelijking met andere modellen. Het is mogelijk al aanwezig, aangezien dit model door andere Chrome-functies wordt gebruikt.
Om te controleren of het model klaar is voor gebruik, roept u de asynchrone functie LanguageDetector.availability()
aan en inspecteert u de resulterende belofte. Er zijn drie mogelijke reacties:
-
"unavailable"
: De gevraagde opties worden niet ondersteund of het model kan niet worden gevraagd. -
"downloadable"
: Het verzoek wordt ondersteund, maar er zijn aanvullende downloads nodig voordat u een sessie kunt aanmaken. Deze downloads kunnen het taalmodel of de fine-tuning omvatten. -
"downloading"
: Het verzoek wordt ondersteund en er wordt momenteel een download uitgevoerd. Deze download moet voltooid zijn voordat er een sessie kan worden aangemaakt. -
"available"
: Het verzoek wordt ondersteund en u kunt een sessie aanmaken.
Om de download te activeren en de taaldetector te instantiëren, roept u de asynchrone functie LanguageDetector.create()
aan. Als de respons op availability()
'downloadable'
of 'downloading'
was, is het raadzaam om te luisteren naar de downloadvoortgang, zodat u de gebruiker kunt informeren als het downloaden langer duurt.
Het volgende voorbeeld laat zien hoe u de taaldetector initialiseert.
const availability = await LanguageDetector.availability();
let detector;
if (availability === 'unavailable') {
// The language detector isn't usable.
return;
}
if (availability === 'available') {
// The language detector can immediately be used.
detector = await LanguageDetector.create();
} else {
// The language detector can be used after model download.
detector = await LanguageDetector.create({
monitor(m) {
m.addEventListener('downloadprogress', (e) => {
console.log(`Downloaded ${e.loaded * 100}%`);
});
},
});
await detector.ready;
}
Voer de taaldetector uit
De Language Detector API gebruikt een rangschikkingsmodel om te bepalen welke taal het meest waarschijnlijk in een bepaald stuk tekst wordt gebruikt. Rangschikking is een vorm van machine learning, waarbij het doel is om een lijst met items te ordenen. In dit geval rangschikt de Language Detector API talen van hoogste naar laagste waarschijnlijkheid.
De functie detect()
kan het eerste resultaat retourneren, het meest waarschijnlijke antwoord, of itereren over de gerangschikte kandidaten met het betrouwbaarheidsniveau. Dit wordt geretourneerd als een lijst met {detectedLanguage, confidence}
-objecten. Het confidence
wordt uitgedrukt als een waarde tussen 0.0
(laagste betrouwbaarheid) en 1.0
(hoogste betrouwbaarheid).
const someUserText = 'Hallo und herzlich willkommen!';
const results = await detector.detect(someUserText);
for (const result of results) {
// Show the full list of potential languages with their likelihood, ranked
// from most likely to least likely. In practice, one would pick the top
// language(s) that cross a high enough threshold.
console.log(result.detectedLanguage, result.confidence);
}
// (Output truncated):
// de 0.9993835687637329
// en 0.00038279531872831285
// nl 0.00010798392031574622
// ...
API-speeltuin
Experimenteer met de Language Detector API in onze API-speeltuin . Voer tekst in verschillende talen in het tekstvak in.
Standaardisatie-inspanning
Het Chrome-team vroeg feedback aan de W3C Technical Architecture Group en vroeg Mozilla en WebKit naar hun standpunt over standaarden.
Deel uw feedback
We willen graag zien wat je bouwt met de Language Detector API. Deel je websites en webapplicaties met ons op X , YouTube en LinkedIn .
Als u feedback hebt over de implementatie van Chrome, meld dit dan als Chromium-bug .